package com.ce.pms.occupation.service;

import com.ce.pms.base.service.IPmsBaseService;
import com.ce.pms.occupation.model.PerfectItemDispatchDO;
import com.ce.pms.occupation.vo.CompletePerfectItemVO;
import com.ce.pms.occupation.vo.PerItemDispSearchVO;
import com.ce.pms.occupation.vo.PerfectItemDispatchVO;
import com.sitechasia.webx.core.support.Page;
/**
 * 功能描述: 整改项目派工Service接口
 * <p>版权所有：中企动力
 * <p>未经本公司许可，不得以任何方式复制或使用本程序任何部分
 *
 * @author  胡煦
 * Create on:2008-12-31
 * Edit author:
 * Edit on:
 * 修改原因：

 */

public interface IPerfectItemDispatchService extends IPmsBaseService {
	/**
	 * 方法描述: 分页查询所有整改项目派工
	 * @author 胡煦
	 * Create on:2008-12-29
	 * @param perItemDispSearchVO
	 * @return 返回当前页的查询结果
	 * Edit author:
	 * Edit on:
	 * 修改原因：
	 */
	public Page queryPerfectItemDispatchVOByPage(PerItemDispSearchVO perItemDispSearchVO);
	/**
	 * 方法描述: 根据ID查询整改项目派工VO
	 * @author 胡煦
	 * Create on:2008-12-29
	 * @param id
	 * @return PerfectItemDispatchVO
	 * Edit author:
	 * Edit on:
	 * 修改原因：
	 */
	public PerfectItemDispatchVO queryperfectItemDispatchVOById(Long id) ;
	/**
	 * 方法描述: 增加整改项目派工方法
	 * @author 胡煦
	 * Create on:2008-12-30
	 * @param perfectItemDispatchVO
	 * @return perfectItemDispatchVO
	 * Edit author:
	 * Edit on:
	 * 修改原因：
	 */
	public PerfectItemDispatchVO addPerfectItemDispatch(PerfectItemDispatchVO perfectItemDispatchVO);
	/**
	 * 方法描述: 新增整改项目派工验证方法
	 * @author 胡煦
	 * Create on:2008-12-31
	 * @param perfectItemRequisitionId
	 * @return void
	 * Edit author:
	 * Edit on:
	 * 修改原因：
	 */
	public void checkAddIsTrue(PerfectItemDispatchVO perfectItemDispatchVO);
	/**
	 * 方法描述: 修改整改项目派工验证方法
	 * @author 胡煦
	 * Create on:2008-12-31
	 * @param perfectItemDispatchId
	 * @return PerfectItemDispatchDO
	 * Edit author:
	 * Edit on:
	 * 修改原因：
	 */
	public PerfectItemDispatchDO checkEditIsTrue(Long perfectItemDispatchId);

	/**
	 * 方法描述: 修改整改项目派工方法
	 * @author 胡煦
	 * Create on:2008-12-30
	 * @param perfectItemDispatchVO
	 * @return perfectItemDispatchVO
	 * Edit author:
	 * Edit on:
	 * 修改原因：
	 */
	public PerfectItemDispatchVO editPerfectItemDispatch(PerfectItemDispatchVO perfectItemDispatchVO);
	/**
	 * 方法描述: 刪除整改项目派工验证方法
	 * 删除派工单失败(该派工单中存在已完工的项目)
	 * @author 胡煦
	 * Create on:2008-12-31
	 * @param perfectItemDispatch Id
	 * @return PerfectItemDispatchDO
	 * Edit author:
	 * Edit on:
	 * 修改原因：
	 */
	public PerfectItemDispatchDO checkDeleteIsTrue(Long perfectItemDispatchId);
	/**
	 * 方法描述: 刪除整改项目派工下的派工项目验证方法
	 * @author 胡煦
	 * Create on:2008-12-31
	 * @param perfectItemDispatchId
	 * @return void
	 * Edit author:
	 * Edit on:
	 * 修改原因：
	 */
	public void checkDeletePerfectItemIsTrue(Long perfectItemRequisitionId);
	/**
	 * 方法描述: 删除整改项目派工方法
	 * @author 胡煦
	 * Create on:2008-12-30
	 * @param perfectItemDispatchId
	 * @return boolean
	 * Edit author:
	 * Edit on:
	 * 修改原因：
	 */
	public boolean deletePerfectItemDispatch(Long perfectItemDispatchId);
	/**
	 * 方法描述: 生成入伙派工单单号.规则如下
	 * PK+系统当前年月日+三位流水号
	 * @author 胡煦
	 * Create on:2009-1-4
	 * @param
	 * @return String
	 * Edit author:
	 * Edit on:
	 * 修改原因：
	 */
	public String generateOccupationCoding();
	/**
	 * 方法描述: 完工登记方法
	 * @author 胡煦
	 * Create on:2009-1-4
	 * @param completePerfectItemVO
	 * @return boolean
	 * Edit author:
	 * Edit on:
	 * 修改原因：
	 */
	public boolean registerCompPerItem(CompletePerfectItemVO  completePerfectItemVO);
}
